1. Field of the Invention
This invention relates to a cache memory which is a part of the main memory of a large data processing system and more particularly to such a cache memory which is to expedite data transfer to and from the user portion of main memory and peripheral devices such as disk files.
2. Description of the Prior Art
Large data processing systems are used by such institutions as large banks, airlines and so forth to maintain and update customer data such as bank accounts, airline reservations and the like. Such customer data is critical data in that if the system goes down and all the customer bank accounts or all of the reservations are lost, the obvious end result will occur. For this reason, such customer critical data is maintained in non-volatile memory units such as large magnetic disk drives and such large data processing systems may be servicing as many as 200 or more such disk drives so as to constantly update customer accounts in an on-line real-time basis.
However, in such a large data processing system the time to access a data segment from a given disk file or, other peripheral devices, is measured in terms of milliseconds while the actual processing time required for such data update takes only a few microseconds. Furthermore, with such a large number of peripheral devices being serviced which require access to the system's main memory, the I/0 busses can be clogged further delaying transmission time of the required data and thus defeating the throughput capacity of the system itself.
Such disk files are normally provided with a cache memory at its output and whenever a data segment is accessed, the entire track containing that segment is put into the corresponding cache. The philosophy behind this is that when a data segment is requested, subsequent requests will probably be from the same disk track. However, in a large data processing system this does not eliminate the transfer time from the disk to main memory.
The Peacock et al U.S. application No. 926,738 filed Nov. 4, 1986 and entitled "Disk Caching Mechanism for a Multi-Disk Drive System" discloses a system where the disk cache for all the disks in the system is maintained in main memory. Thus, once a data track containing a requested segment has been transferred to the disk cache in main memory, the access of that disk cache can occur in microseconds rather than milliseconds required in previous systems. However, in the Peacock application, a special purpose processor is provided to handle the disk track transfers and also to handle the transfer from the cache in main memory to the user job area of main memory and that this extra computer system adds to the expense of the system and such a system cannot be adapted to previously existing systems.
The present invention is directed towards a software system residing as a part of the operating system in main memory to maintain a disk cache in main memory so that the user job or task sees an increased transfer speed for a data request from a disk when the segment being requested is in a track that has been stored in the cache in main memory.
It is then an object of the present invention to provide an improved large data processing system wherein the transfer time for the access of data segments stored in the periphery can be improved.
It is another object of the present invention to provide an improved software system for maintaing a disk cache for a large number of disk units in a large data processing system.
It is still a further object of the present invention to provide a software system for a large data processing system to decrease the transfer time of data segments from a peripheral disk cache or other peripheral to the processor or processors which are executing user tasks.